package ventanas;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import bean.FAVIN;
import java.util.List;
import recursos.MIFMantenimiento;
import recursos.Sesion;

public class IFFAVIN extends MIFMantenimiento {
	private static final long serialVersionUID = 1L;

	public IFFAVIN() {
		lblBTipo.setVisible(false);
		cboBTipo.setVisible(false);
		cboDTipo.setVisible(false);
		lblDTipo.setVisible(false);
		lblBSituacion.setSize(66, 14);
		lblBNombre.setSize(97, 14);
		txtBDescripcion.setSize(97, 20);
		lblBDescripcion.setSize(56, 16);
		lblBDescripcion.setText("VIN");
		lblDActivo.setLocation(372, 20);
		chkDActivo.setBounds(377, 32, 30, 23);
		txtDOrden.setLocation(267, 16);
		scpBusqueda.setSize(395, 196);
		pnBusqueda.setSize(414, 272);
		scpBusqueda.setLocation(10, 66);
		lblBSituacion.setLocation(348, 25);
		cboBActivo.setSize(57, 20);
		cboBActivo.setLocation(348, 39);
		lblDDescripcion.setText("VIN");
		txtDBuscar.setSize(182, 20);
		txtDDescripcion.setSize(207, 20);
		lblDOrden.setVisible(false);
		txtDOrden.setVisible(false);
		txtBOrden.setVisible(false);
		lblBOrden.setVisible(false);
		txtDBuscar.setLocation(222, 79);
		txtDDescripcion.setLocation(10, 79);
		lblDBuscar.setLocation(222, 65);
		lblDDescripcion.setLocation(10, 64);
		txtBBuscar.setSize(83, 20);
		txtBOrden.setLocation(190, -1);
		txtBBuscar.setLocation(263, 39);
		txtBDescripcion.setLocation(163, 39);
		txtBNombre.setSize(147, 20);
		txtDNombre.setBounds(10, 35, 355, 20);
		txtBNombre.setLocation(10, 39);
		lblBOrden.setLocation(153, 0);
		lblBDescripcion.setLocation(163, 23);
		lblBBuscar.setLocation(263, 24);
		lblBNombre.setLocation(10, 24);
		txtBCodigo.setLocation(281, -1);
		lblBCodigo.setLocation(253, 0);
		txtBCodigo.setVisible(false);
		lblBCodigo.setVisible(false);
		lblDBuscar.setText("Alias");
		lblBBuscar.setText("Alias");
		lblBNombre.setText("Fabricante");
		lblDNombre.setText("Fabricante");
		setTitle(getTitle() + "-" + Sesion.tfiMantenimientoFAVIN);
		registrarCabecera();
		activaControles();
		limpiarTabla();
		tbBusqueda.addKeyListener(new KeyAdapter() {
			@Override
			public void keyReleased(KeyEvent e) {
				pintar();
			}
		});
		tbBusqueda.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseReleased(MouseEvent e) {
				pintar();
			}
		});
	}

	@Override
	public void limpiarTabla() {
		tbBusqueda.setModel(dtm = new DefaultTableModel(datos, cabecera));
		ocultarColumna();
		setResultadoBusqueda(tbBusqueda.getRowCount());
		TableColumn colFabrica = tbBusqueda.getColumn(1);
		TableColumn colAlias = tbBusqueda.getColumn(2);
		TableColumn colAlias2 = tbBusqueda.getColumn(3);
		TableColumn colsit = tbBusqueda.getColumn(4);
		
		colFabrica.setPreferredWidth(255);
		colAlias.setPreferredWidth(35);
		colAlias2.setPreferredWidth(55);
		colsit.setPreferredWidth(35);
		
	}

	private void ocultarColumna(){
		tbBusqueda.getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getColumnModel().getColumn(0).setMinWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
	}

	public void cargarTabla(List<FAVIN> listado) {
		limpiarTabla();
		for (FAVIN obj : listado) {
			Object datos[] = { obj.getId(),obj.getFabrica(),obj.getBusqueda(),obj.getBusqueda2(),obj.getSituacion()};
			dtm.addRow(datos);
		}
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}
	
	public void cargarTabla(FAVIN obj) {
		limpiarTabla();
		Object datos[] = { obj.getId(),obj.getFabrica(),obj.getBusqueda(),obj.getBusqueda2(),obj.getSituacion()};
		dtm.addRow(datos);
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}
	
	@Override
	public void registrarCabecera() {
		cabecera = new String[5];
		cabecera[0] = "Id";
		cabecera[1] = "Fabricante";
		cabecera[2] = "VIN";
		cabecera[3] = "Alias";
		cabecera[4] = "Sit.";	
	}
	
	private void pintar(){
		if (tbBusqueda.getSelectedRow() > -1) {
			String id = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 0).toString();
			String fabrica = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 1).toString();
			String vin = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 2).toString();
			String alias = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 3).toString();
			String activo = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 4).toString();
			
			setId(id);
			setDNombre(fabrica);
			setDDescripcion(vin);
			setDBuscar(alias);
			if(activo.equals("01")){
				setDActivo(true);
			}else{
				setDActivo(false);
			}
		}
	}
}
